package com.atguigu.base;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

public class JDBCQuick {
    public static void main(String[] args) throws Exception {
        // 1. 注册驱动, 以下两种注册方法效果一样, 且在JDK6以后不需要显示的注册驱动了
        // 是通过这个文件自动注册的  D:\Work\Code\atguigu-jdbc\lib\mysql-connector-j-8.4.0.jar!\META-INF\services\java.sql.Driver
//        Class.forName("com.mysql.cj.jdbc.Driver");
//        java.sql.DriverManager.registerDriver(new Driver());

        // 2. 获取连接对象
        // url: jdbc:mysql://IP地址:端口号/数据库名?参数1=值1&参数2=值2...
        // 当前数据库是本地数据库, 且端口是默认的3306, 可以省略IP地址和端口号, 只写数据库名, 例如 : jdbc:mysql:///atguigu
        String url = "jdbc:mysql://127.0.0.1:3306/atguigu";
        String userName = "root";
        String passWord = "mysqlmima";
        Connection connection = DriverManager.getConnection(url, userName, passWord);

        // 3. 获取执行SQL语句的对象
        Statement statement = connection.createStatement();

        // 4. 编写SQL语句, 并执行, 接收返回的结果集
        ResultSet resultSet = statement.executeQuery("SELECT emp_id, emp_name, emp_salary, emp_age FROM t_emp");

        // 5. 遍历结果集
        String separator = "\t";
        while (resultSet.next()) {
            int emp_id = resultSet.getInt("emp_id");
            String emp_name = resultSet.getString("emp_name");
            double emp_salary = resultSet.getDouble("emp_salary");
            int emp_age = resultSet.getInt("emp_age");
            System.out.println(emp_id + separator + emp_name + separator + emp_salary + separator + emp_age);
        }

        // 6. 释放资源
        resultSet.close();
        statement.close();
        connection.close();
    }
}
